home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / Tool Chest / Interfaces / MPW Interfaces / AIncludes / Quickdraw.a < prev    next >
Encoding:
Text File  |  1993-09-17  |  18.2 KB  |  520 lines  |  [TEXT/MPS ]

  1. ;    File:        Quickdraw.a
  2. ;
  3. ;    Copyright:    © 1983-1993 by Apple Computer, Inc.
  4. ;                All rights reserved.
  5. ;
  6. ;    Version:    System 7.1 for ETO #11
  7. ;    Created:    Tuesday, March 30, 1993 18:00
  8. ;
  9. ;___________________________________________________________________________
  10.  
  11.     IF &TYPE('__INCLUDINGQUICKDRAW__') = 'UNDEFINED' THEN
  12. __INCLUDINGQUICKDRAW__    SET    1
  13.  
  14.  
  15. ; Transfer modes
  16.  
  17. srcCopy           EQU         0
  18. srcOr             EQU         1
  19. srcXor            EQU         2
  20. srcBic            EQU         3
  21. notSrcCopy        EQU         4
  22. notSrcOr          EQU         5
  23. notSrcXor         EQU         6
  24. notSrcBic         EQU         7
  25. patCopy           EQU         8
  26. patOr             EQU         9
  27. patXor            EQU         10
  28. patBic            EQU         11
  29. notPatCopy        EQU         12
  30. notPatOr          EQU         13
  31. notPatXor         EQU         14
  32. notPatBic         EQU         15
  33.  
  34. ; Arithmetic transfer modes
  35. blend             EQU         32
  36. addPin            EQU         33
  37. addOver           EQU         34
  38. subPin            EQU         35
  39. adMax             EQU         37
  40. subOver           EQU         38
  41. adMin             EQU         39
  42.  
  43. ; Special text mode
  44. grayishTextOr    EQU            49
  45.  
  46. ditherCopy        EQU            64                        ;promote source to 32-bit and then dither down
  47.  
  48. ; Flags passed to DeviceLoop
  49.  
  50. singleDevicesBit    EQU        0
  51. dontMatchSeedsBit    EQU        1
  52. allDevicesBit        EQU        2
  53.  
  54. singleDevices        EQU        1
  55. dontMatchSeeds        EQU        2
  56. allDevices            EQU        4
  57.  
  58. ; Definitions for Font Style Bits (right to left)
  59.  
  60. boldBit           EQU         0
  61.  
  62. ; Transparent mode constant
  63. transparent       EQU         36
  64. italicBit         EQU         1
  65. ulineBit          EQU         2
  66. outlineBit        EQU         3
  67. shadowBit         EQU         4
  68. condenseBit       EQU         5
  69. extendBit         EQU         6
  70.  
  71.  
  72. ; FontInfo record
  73.  
  74. ascent            EQU         0                         ; ascent [word]
  75. descent           EQU         2                         ; descent [word]
  76. widMax            EQU         4                         ; maximum width [word]
  77. leading           EQU         6                         ; leading [word]
  78.  
  79. ; Rectangle structure
  80.  
  81. topLeft           EQU         0                         ; upper left corner [point]
  82. botRight          EQU         4                         ; lower right corner [point]
  83. top               EQU         0                         ; top coordinate [word]
  84. left              EQU         2                         ; left coordinate [word]
  85. bottom            EQU         4                         ; bottom coordinate [word]
  86. right             EQU         6                         ; right coordinate [word]
  87.  
  88. ; Bitmap Structure
  89.  
  90. baseAddr          EQU         0                         ; bitmap base address [pointer]
  91. rowBytes          EQU         4                         ; row bytes (must be even) [word]
  92. bounds            EQU         6                         ; bounding box [rectangle]
  93. bitmapRec         EQU         14                        ; size of a bitmap
  94.  
  95. ; Cursor Structure
  96.  
  97. data              EQU         0                         ; visible bits [32 bytes]
  98. mask              EQU         $20                       ; mask bits [32 bytes]
  99. hotSpot           EQU         $40                       ; relative origin [point]
  100. cursRec           EQU         68                        ; size of a cursor
  101.  
  102. ; PenState record
  103.  
  104. psLoc             EQU         0                         ; pen location [point]
  105. psSize            EQU         4                         ; pen size [point]
  106. psMode            EQU         8                         ; pen mode [word]
  107. psPat             EQU         10                        ; pen [pattern]
  108. psRec             EQU         18                        ; size of pen state
  109.  
  110. ; Polygon record
  111.  
  112. polySize          EQU         0                         ; total bytes [word]
  113. polyBBox          EQU         2                         ; bounding box [rectangle]
  114. polyPoints        EQU         10                        ; vertices [Points]
  115.  
  116. ; Region Structure
  117.  
  118. rgnSize           EQU         0                         ; total bytes [word]
  119. rgnBBox           EQU         2                         ; bounding box [rectangle]
  120. rgnData           EQU         10                        ; region data [array]
  121.  
  122. ; Picture Structure
  123.  
  124. picSize           EQU         0                         ; total bytes [word]
  125. picFrame          EQU         2                         ; bounding box [rectangle]
  126. picData           EQU         10                        ; picture byte codes [array]
  127.  
  128. OpenCPicParams    RECORD    0
  129. srcRect        ds.w    4
  130. hRes        ds.l    1
  131. vRes        ds.l    1
  132. version        ds.w    1
  133. reserved1    ds.w    1
  134. reserved2    ds.l    1
  135.             ENDR
  136.             
  137. ; QDProcs structure
  138.  
  139. textProc          EQU         0                         ; [pointer]
  140. lineProc          EQU         4                         ; [pointer]
  141. rectProc          EQU         8                         ; [pointer]
  142. rRectProc         EQU         $C                        ; [pointer]
  143. ovalProc          EQU         $10                       ; [pointer]
  144. arcProc           EQU         $14                       ; [pointer]
  145. polyProc          EQU         $18                       ; [pointer]
  146. rgnProc           EQU         $1C                       ; [pointer]
  147. bitsProc          EQU         $20                       ; [pointer]
  148. commentProc       EQU         $24                       ; [pointer]
  149. txMeasProc        EQU         $28                       ; [pointer]
  150. getPicProc        EQU         $2C                       ; [pointer]
  151. putPicProc        EQU         $30                       ; [pointer]
  152. qdProcsRec        EQU         $34                       ; size of QDProcs record
  153.  
  154. ; GrafPort Structure
  155.  
  156. device            EQU         $0                        ; device code [word]
  157. portBits          EQU         $2                        ; port's bitmap [bitmap]
  158. portBounds        EQU         $8                        ; bounding box of bitmap [rect]
  159. portRect          EQU         $10                       ; port's rectangle [rect]
  160. visRgn            EQU         $18                       ; visible region [handle]
  161. clipRgn           EQU         $1C                       ; clipping region [handle]
  162. bkPat             EQU         $20                       ; background [pattern]
  163. fillPat           EQU         $28                       ; fill [pattern]
  164. pnLoc             EQU         $30                       ; pen location [point]
  165. pnSize            EQU         $34                       ; pen size [point]
  166. pnMode            EQU         $38                       ; pen mode [word]
  167. pnPat             EQU         $3A                       ; pen [pattern]
  168. pnVis             EQU         $42                       ; pen visible [word]
  169. txFont            EQU         $44                       ; text font [word]
  170. txFace            EQU         $46                       ; text face [word]
  171. txMode            EQU         $48                       ; text mode [word]
  172. txSize            EQU         $4A                       ; text size [word]
  173. spExtra           EQU         $4C                       ; space extra [fixed]
  174. fgColor           EQU         $50                       ; foreground color mask [long]
  175. bkColor           EQU         $54                       ; background color mask [long]
  176. colrBit           EQU         $58                       ; color bit [word]
  177. patStretch        EQU         $5A                       ; pattern stretch [word]
  178. picSave           EQU         $5C                       ; picture being saved [handle]
  179. rgnSave           EQU         $60                       ; region being saved [handle]
  180. polySave          EQU         $64                       ; polygon being saved [handle]
  181. grafProcs         EQU         $68                       ; QDProcs array [pointer]
  182. portRec           EQU         $6C                       ; size of grafport
  183.  
  184.  
  185. ; QuickDraw Global Variables
  186.  
  187.  
  188. GrafGlobals       EQU         0                         ; A5 offset to globptr
  189. thePort           EQU         0                         ;GrafPtr
  190. white             EQU         thePort-8                 ;Pattern
  191. black             EQU         white-8                   ;Pattern
  192. gray              EQU         black-8                   ;Pattern
  193. ltGray            EQU         gray-8                    ;Pattern
  194. dkGray            EQU         ltGray-8                  ;Pattern
  195. arrow             EQU         dkGray-68                 ;Cursor
  196. screenBits        EQU         arrow-14                  ;BitMap
  197. randSeed          EQU         screenBits-4              ;LONGINT
  198.  
  199. ; color manager equates
  200.  
  201. ; RGBColor structure
  202.  
  203. red               EQU         $0                        ;red channel intensity [short]
  204. green             EQU         $2                        ;green channel intensity[short]
  205. blue              EQU         $4                        ;blue channel intensity [short]
  206. rgbColor          EQU         $6                        ;size of record
  207.  
  208. ; ColorSpec structure
  209.  
  210. value             EQU         $0                        ;value field [short]
  211. rgb               EQU         $2                        ;rgb values [rgbColor]
  212. colorSpecSize     EQU         $8                        ;size of record
  213.  
  214. ; MatchRec structure
  215.  
  216. ;red EQU $0 ;defined in RGBColor
  217. ;green EQU $2 ;defined in RGBColor
  218. ;blue EQU $4 ;defined in RGBColor
  219. matchData         EQU         $6                        ; [long]
  220. matchRecSize      EQU         $A
  221.  
  222. ; Color Separation
  223.  
  224. normalBit         EQU         0                         ; normal screen mapping
  225. inverseBit        EQU         1                         ; inverse screen mapping
  226. redBit            EQU         4                         ; RGB additive mapping
  227. greenBit          EQU         3                         ; for photos from screen
  228. blueBit           EQU         2
  229. cyanBit           EQU         8                         ; CMYBk subtractive mapping
  230. yellowBit         EQU         6
  231. magentaBit        EQU         7                         ; for ink jet printer
  232. blackBit          EQU         5
  233. blackColor        EQU         33
  234. whiteColor        EQU         30
  235. redColor          EQU         205
  236. greenColor        EQU         341
  237. blueColor         EQU         409
  238. cyanColor         EQU         273
  239. magentaColor      EQU         137
  240. yellowColor       EQU         69
  241.  
  242.  
  243. ; Standard Picture Comments
  244.  
  245. picLParen         EQU         0
  246. picRParen         EQU         1
  247.  
  248. ; QuickDraw verbs
  249.  
  250. frame             EQU         0
  251. paint             EQU         1
  252. erase             EQU         2
  253. invert            EQU         3
  254. fill              EQU         4
  255.  
  256. ; QuickDraw private global variables
  257.  
  258. wideOpen          EQU         randSeed-4                ;RgnHandle
  259. wideMaster        EQU         wideOpen-4                ;RgnPtr
  260. wideData          EQU         wideMaster-10             ;Fake Region
  261. rgnBuf            EQU         wideData-4                ;PointsHandle
  262. rgnIndex          EQU         rgnBuf-2                  ;INTEGER
  263. rgnMax            EQU         rgnIndex-2                ;INTEGER
  264. playPic           EQU         rgnMax-4                  ;Long
  265. qdSpare0          EQU         playPic-2                 ;unused word
  266. thePoly           EQU         qdSpare0-4                ;POLYHANDLE
  267. polyMax           EQU         thePoly-2                 ;INTEGER
  268. patAlign          EQU         polyMax-4                 ;Point
  269. fontAdj           EQU         patAlign-4                ;Fixed Point
  270. fontPtr           EQU         fontAdj-4                 ;long, ^FMOutput record
  271. playIndex         EQU         fontPtr-4                 ;long
  272. pnLocFixed        EQU            playIndex-2                ;word, horizontal pen fraction            <9>
  273. qdRunSlop        EQU         pnLocFixed-4            ;fixed point, Script Mgr run slop        <11><13>
  274. qdChExtra        EQU         qdRunSlop-4                ;fixed point, Script Mgr char extra        <11><13>
  275. fontData          EQU         qdChExtra-12            ;unused words                            <9><11><13>
  276. lastGrafGlob      EQU         fontData
  277. grafSize          EQU         4-lastGrafGlob            ;total size in bytes
  278.  
  279. ; A record version of the Quickdraw globals
  280. ; It is here rather than with the complementary equates because it needs other equates
  281. ; ...(bitmapRec, grafSize, cursRec)
  282.  
  283. QDGlobals         RECORD      0,DECREMENT
  284. thePort           DS.L        1
  285. white             DS.B        8
  286. black             DS.B        8
  287. gray              DS.B        8
  288. ltGray            DS.B        8
  289. dkGray            DS.B        8
  290. arrow             DS.B        cursRec
  291. screenBits        DS.B        bitmapRec
  292. randSeed          DS.L        1
  293.                   ORG         -grafSize
  294.                   ENDR
  295.  
  296.  
  297. ;************** FROM HERE TO THE ENDIF IS ALL THE NEW STUFF FOR COLOR QUICKDRAW *************
  298.  
  299. hiliteBit         EQU         7                         ; flag bit in HiliteMode (lowMem flag)
  300.  
  301. ; Equates for resource ID's
  302.  
  303. defQDColors       EQU         127                       ; resource ID of clut for default QDColors
  304.  
  305. ;
  306. ; PixMap field offsets
  307.  
  308. pmBaseAddr        EQU         $0                        ; [long]
  309. pmNewFlag         EQU         $4                        ; [1 bit] upper bit of rowbytes is flag
  310. pmRowBytes        EQU         $4                        ; [word]
  311. pmBounds          EQU         $6                        ; [rect]
  312. pmVersion         EQU         $E                        ; [word] pixMap version number
  313. pmPackType        EQU         $10                       ; [word] defines packing format
  314. pmPackSize        EQU         $12                       ; [long] size of pixel data
  315. pmHRes            EQU         $16                       ; [fixed] h. resolution (ppi)
  316. pmVRes            EQU         $1A                       ; [fixed] v. resolution (ppi)
  317. pmPixelType       EQU         $1E                       ; [word] defines pixel type
  318. pmPixelSize       EQU         $20                       ; [word] # bits in pixel
  319. pmCmpCount        EQU         $22                       ; [word] # components in pixel
  320. pmCmpSize         EQU         $24                       ; [word] # bits per field
  321. pmPlaneBytes      EQU         $26                       ; [long] offset to next plane
  322. pmTable           EQU         $2A                       ; [long] color map
  323. pmReserved        EQU         $2E                       ; [long] MUST BE 0
  324. pmRec             EQU         $32                       ; size of pixMap record
  325.  
  326. ; pixel types
  327.  
  328. chunky            EQU         0
  329. chunkyPlanar      EQU         1
  330. planar            EQU         2
  331. RGBDirect        EQU            16
  332.  
  333. ;
  334. ; pmVersion values
  335.  
  336. baseAddr32        EQU            4                        ; pixmap base address is 32-bit address
  337.  
  338. ; PixPat field offsets
  339. ;
  340.  
  341. patType           EQU         $0                        ; [word] type of pattern
  342. patMap            EQU         $2                        ; [long] handle to pixmap
  343. patData           EQU         $6                        ; [long] handle to data
  344. patXData          EQU         $A                        ; [long] handle to expanded pattern data
  345. patXValid         EQU         $E                        ; [word] flags whether expanded pattern valid
  346. patXMap           EQU         $10                       ; [long] handle to expanded pattern data
  347. pat1Data          EQU         $14                       ; [8 bytes] old-style pattern/RGB color
  348. ppRec             EQU         $1C                       ; size of pixPat record
  349.  
  350.  
  351. ; Pattern types
  352. ;
  353.  
  354. oldPat            EQU         0                         ; foreground/background pattern
  355. newPat            EQU         1                         ; self-contained color pattern
  356. ditherPat         EQU         2                         ; rgb value to be dithered
  357. oldCrsrPat        EQU         $8000                     ; old-style cursor
  358. cCrsrPat          EQU         $8001                     ; new-style cursor
  359.  
  360.  
  361. ; additional offsets in a color GrafPort
  362. ;
  363.  
  364. portPixMap        EQU         portBits                  ; [long] pixelMap handle
  365. portVersion       EQU         portPixMap+4              ; [word] port version number
  366. grafVars          EQU         portVersion+2             ; [long] handle to more fields
  367. chExtra           EQU         grafVars+4                ; [word] character extra
  368. pnLocHFrac        EQU         chExtra+2                 ; [word] pen fraction
  369. bkPixPat          EQU         bkPat                     ; [long] handle to bk pattern
  370. rgbFgColor        EQU         bkPixPat+4                ; [6 bytes] RGB components of fg color
  371. rgbBkColor        EQU         rgbFgColor+6              ; [6 bytes] RGB components of bk color
  372. pnPixPat          EQU         pnPat                     ; [long] handle to pen's pattern
  373. fillPixPat        EQU         pnPixPat+4                ; [long] handle to fill pattern 
  374.  
  375.  
  376. ; GDevice field offsets
  377. ;
  378.  
  379. gdRefNum          EQU         $0                        ; [word] unitNum of driver
  380. gdID              EQU         $2                        ; [word] client ID for search procs
  381. gdType            EQU         $4                        ; [word] fixed/CLUT/direct
  382. gdITable          EQU         $6                        ; [long] handle to inverse table
  383. gdResPref         EQU         $A                        ; [word] preferred resolution for inverse tables
  384. gdSearchProc      EQU         $C                        ; [long] search proc (list?) pointer
  385. gdCompProc        EQU         $10                       ; [long] complement proc (list?) pointer
  386. gdFlags           EQU         $14                       ; [word] grafDevice flags word
  387. gdPMap            EQU         $16                       ; [long] handle to pixMap describing device
  388. gdRefCon          EQU         $1A                       ; [long] reference value
  389. gdNextGD          EQU         $1E                       ; [long] handle of next gDevice
  390. gdRect            EQU         $22                       ; [rect] device's bounds in global coordinates
  391. gdMode            EQU         $2A                       ; [long] device's current mode
  392. gdCCBytes         EQU         $2E                       ; [word] depth of expanded cursor data
  393. gdCCDepth         EQU         $30                       ; [word] depth of expanded cursor data
  394. gdCCXData         EQU         $32                       ; [long] handle to cursor's expanded data
  395. gdCCXMask         EQU         $36                       ; [long] handle to cursor's expanded mask
  396. gdReserved        EQU         $3A                       ; [long] MUST BE 0
  397. gdRec             EQU         $3E                       ; size of GrafDevice record
  398.  
  399. ; VALUES FOR GDType
  400.  
  401. clutType          EQU         0                         ; 0 if lookup table
  402. fixedType         EQU         1                         ; 1 if fixed table
  403. directType        EQU         2                         ; 2 if direct values
  404.  
  405. ; BIT ASSIGNMENTS FOR GDFlags
  406.  
  407. gdDevType         EQU         0                         ; 0 = monochrome; 1 = color
  408. hasAuxMenuBar    EQU            06                        ; 1 if device has an Aux menu bar on it
  409. BurstDevice        EQU            07                        ; 1 if this device support burst xfer
  410. ext32Device        EQU            08                        ; 1 if this device must be accessed in 32-bit mode
  411. frozenDevice    EQU            09                        ; reserved for future use
  412. ramInit           EQU         10                        ; 1 if initialized from 'scrn' resource
  413. mainScreen        EQU         11                        ; 1 if main screen
  414. allInit           EQU         12                        ; 1 if all devices initialized
  415. screenDevice      EQU         13                        ; 1 if screen device [not used]
  416. noDriver          EQU         14                        ; 1 if no driver for this GDevice
  417. screenActive      EQU         15                        ; 1 if in use
  418.  
  419. ; CCrsr (Color Cursor) field offsets
  420. ;
  421. ; NOTE THAT THE FIRST FOUR FIELDS ARE PARALLEL TO THE FIRST FOUR FIELDS
  422. ; OF A PATTERN SO THAT PATCONVERT CAN BE USED TO EXPAND A CURSOR
  423. ;
  424.  
  425. crsrType          EQU         0                         ;[WORD] CURSOR TYPE
  426. crsrMap           EQU         crsrType+2                ;[LONG] HANDLE TO CURSOR'S PIXMAP
  427. crsrData          EQU         crsrMap+4                 ;[LONG] HANDLE TO CURSOR'S COLOR DATA
  428. crsrXData         EQU         crsrData+4                ;[LONG] HANDLE TO EXPANDED DATA
  429. crsrXValid        EQU         crsrXData+4               ;[WORD] DEPTH OF EXPANDED DATA (0 IF NONE)
  430. crsrXHandle       EQU         crsrXValid+2              ;[LONG] HANDLE FOR FUTURE USE
  431. crsr1Data         EQU         crsrXHandle+4             ;[16 WORDS] ONE-BIT DATA
  432. crsrMask          EQU         crsr1Data+32              ;[16 WORDS] ONE-BIT MASK
  433. crsrHotSpot       EQU         crsrMask+32               ;[POINT] HOT-SPOT FOR CURSOR
  434. crsrXTable        EQU         crsrHotSpot+4             ;[LONG] TABLE ID FOR EXPANDED DATA
  435. crsrID            EQU         crsrXTable+4              ;[LONG] ID FOR CURSOR
  436. crsrRec           EQU         crsrID+4                  ;SIZE OF CURSOR SAVE AREA
  437.  
  438.  
  439. ; CIcon (Color Icon) field offsets
  440. ;
  441.  
  442. iconPMap          EQU         0                         ;[PIXMAP] ICON'S PIXMAP
  443. iconMask          EQU         iconPMap+pmRec            ;[BITMAP] 1-BIT VERSION OF ICON ONE-BIT MASK FOR ICON
  444. iconBMap          EQU         iconMask+bitmapRec        ;[BITMAP] 1-BIT VERSION OF ICON
  445. iconData          EQU         iconBMap+bitmapRec        ;[LONG] HANDLE TO PIXMAP DATA
  446. ;FOLLOWED BY BMAP AND MASK DATA
  447. iconRec           EQU         iconData+4                ;SIZE OF ICON HEADER
  448.  
  449. ;
  450. ; Gamma Table format
  451. ;
  452. gVersion          EQU         0                         ; [word] gamma version number
  453. gType             EQU         gVersion+2                ; [word] gamma data type
  454. gFormulaSize      EQU         gType+2                   ; [word] Formula data size
  455. gChanCnt          EQU         gFormulaSize+2            ; [word] number of channels of data
  456. gDataCnt          EQU         gChanCnt+2                ; [word] number of values/channel
  457. gDataWidth        EQU         gDataCnt+2                ; [word] bits/corrected value (data packed to next larger byte size)
  458. gFormulaData      EQU         gDataWidth+2              ; [array] data for formulas, followed by gamma values
  459.  
  460.  
  461. ; EXTENSIONS TO THE QDPROCS RECORD
  462. ;
  463.  
  464. opcodeProc        EQU         $34                       ; [pointer]
  465. newProc1          EQU         $38                       ; [pointer]
  466. newProc2          EQU         $3C                       ; [pointer]
  467. newProc3          EQU         $40                       ; [pointer]
  468. newProc4          EQU         $44                       ; [pointer]
  469. newProc5          EQU         $48                       ; [pointer]
  470. newProc6          EQU         $4C                       ; [pointer]
  471. cqdProcsRec       EQU         $50                       ; size of QDProcs record
  472.  
  473. ; OFFSETS WITHIN GRAFVARS:
  474. ;
  475. rgbOpColor        EQU         0                         ; [6 bytes] color for addPin, subPin and average
  476. rgbHiliteColor    EQU         rgbOpColor+6              ; [6 bytes] color for hiliting
  477. pmFgColor         EQU         rgbHiliteColor+6          ; [4 bytes] palette handle for foreground color
  478. pmFgIndex         EQU         pmFgColor+4               ; [2 bytes] index value for foreground
  479. pmBkColor         EQU         pmFgIndex+2               ; [4 bytes] palette handle for background color
  480. pmBkIndex         EQU         pmBkColor+4               ; [2 bytes] index value for background
  481. pmFlags           EQU         pmBkIndex+2               ; [2 bytes] flags for Palette Manager
  482. grafVarRec        EQU         pmFlags+2                 ; size of grafVar record
  483.  
  484. ; ColorTable field offsets
  485.  
  486. ctSeed            EQU         0                         ; [long] id number for table
  487. transIndex        EQU         ctSeed+4                  ; [word] index of transparent pixel (obsolete)
  488. ctFlags           EQU         ctSeed+4                  ; [word] hibh bit: 0 = PixMap; 1 = device
  489. ctSize            EQU         ctFlags+2                 ; [word] number of entries in CTTable
  490. ctTable           EQU         ctSize+2                  ; [variant] array of color spec
  491. ctRec             EQU         ctTable                   ; size of record without color table
  492. ctEntrySize       EQU         8                         ; size of each entry in table
  493. minSeed           EQU         1023                      ; minimum seed value (< minSeed reserved for rsrc ID's)
  494. protectBit        EQU         7                         ; protect bit in device color table
  495. reserveBit        EQU         6                         ; reserve bit in device color table
  496. invalColReq       EQU         -1                        ; invalid color table request
  497.  
  498. ; CProcRec structure
  499.  
  500. nxtComp           EQU         $0                        ;link to next proc [pointer]
  501. compProc          EQU         $4                        ;pointer to routine [pointer]
  502. cProcSize         EQU         8                         ; size of CProcRec
  503. ; SProcRec structure
  504.  
  505. nxtSrch           EQU         $0                        ;[pointer] link to next proc
  506. srchproc          EQU         $4                        ;[pointer] pointer to routine
  507. sProcSize         EQU         8                         ; size of SProcRec
  508.  
  509. ; request List structure
  510.  
  511. reqLSize          EQU         0                         ; request list size [word]
  512. reqLData          EQU         2                         ; request list data [words]
  513.  
  514.  
  515. ; Point structure
  516.  
  517. v                 EQU         0                         ; vertical coordinate [word]
  518. h                 EQU         2                         ; horizontal coordinate [word]
  519.  
  520.     ENDIF    ; ...already included